/*
 * Copyright © 2017-2025 重庆骄智科技有限公司.
 * 本软件根据 Apache License 2.0 开源，详见 LICENSE 文件。
 */
package com.joyzl.network.http;

import com.joyzl.network.StringSeeker;

/**
 * ISO 639-3 www.iso639-3.sil.org
 * 
 * @author ZhangXi 2024年11月26日
 */
public enum LanguageCodes {

	aa("Afar"),
	ab("Abkhazian"),
	ae("Avestan"),
	af("Afrikaans"),
	ak("Akan"),
	am("Amharic"),
	an("Aragonese"),
	ar("Arabic"),
	as("Assamese"),
	av("Avaric"),
	ay("Aymara"),
	az("Azerbaijani"),
	ba("Bashkir"),
	be("Belarusian"),
	bg("Bulgarian"),
	bi("Bislama"),
	bm("Bambara"),
	bn("Bengali"),
	bo("Tibetan"),
	br("Breton"),
	bs("Bosnian"),
	ca("Catalan"),
	ce("Chechen"),
	ch("Chamorro"),
	co("Corsican"),
	cr("Cree"),
	cs("Czech"),
	cu("Church Slavic"),
	cv("Chuvash"),
	cy("Welsh"),
	da("Danish"),
	de("German"),
	dv("Dhivehi"),
	dz("Dzongkha"),
	ee("Ewe"),
	el("Modern Greek (1453-)"),
	en("English"),
	eo("Esperanto"),
	es("Spanish"),
	et("Estonian"),
	eu("Basque"),
	fa("Persian"),
	ff("Fulah"),
	fi("Finnish"),
	fj("Fijian"),
	fo("Faroese"),
	fr("French"),
	fy("Western Frisian"),
	ga("Irish"),
	gd("Scottish Gaelic"),
	gl("Galician"),
	gn("Guarani"),
	gu("Gujarati"),
	gv("Manx"),
	ha("Hausa"),
	he("Hebrew"),
	hi("Hindi"),
	ho("Hiri Motu"),
	hr("Croatian"),
	ht("Haitian"),
	hu("Hungarian"),
	hy("Armenian"),
	hz("Herero"),
	ia("Interlingua (International Auxiliary Language Association)"),
	id("Indonesian"),
	ie("Interlingue"),
	ig("Igbo"),
	ii("Sichuan Yi"),
	ik("Inupiaq"),
	io("Ido"),
	is("Icelandic"),
	it("Italian"),
	iu("Inuktitut"),
	ja("Japanese"),
	jv("Javanese"),
	ka("Georgian"),
	kg("Kongo"),
	ki("Kikuyu"),
	kj("Kuanyama"),
	kk("Kazakh"),
	kl("Kalaallisut"),
	km("Khmer"),
	kn("Kannada"),
	ko("Korean"),
	kr("Kanuri"),
	ks("Kashmiri"),
	ku("Kurdish"),
	kv("Komi"),
	kw("Cornish"),
	ky("Kirghiz"),
	la("Latin"),
	lb("Luxembourgish"),
	lg("Ganda"),
	li("Limburgan"),
	ln("Lingala"),
	lo("Lao"),
	lt("Lithuanian"),
	lu("Luba-Katanga"),
	lv("Latvian"),
	mg("Malagasy"),
	mh("Marshallese"),
	mi("Maori"),
	mk("Macedonian"),
	ml("Malayalam"),
	mn("Mongolian"),
	mr("Marathi"),
	ms("Malay (macrolanguage)"),
	mt("Maltese"),
	my("Burmese"),
	na("Nauru"),
	nb("Norwegian Bokmål"),
	nd("North Ndebele"),
	ne("Nepali (macrolanguage)"),
	ng("Ndonga"),
	nl("Dutch"),
	nn("Norwegian Nynorsk"),
	no("Norwegian"),
	nr("South Ndebele"),
	nv("Navajo"),
	ny("Nyanja"),
	oc("Occitan (post 1500)"),
	oj("Ojibwa"),
	om("Oromo"),
	or("Oriya (macrolanguage)"),
	os("Ossetian"),
	pa("Panjabi"),
	pi("Pali"),
	pl("Polish"),
	ps("Pushto"),
	pt("Portuguese"),
	qu("Quechua"),
	rm("Romansh"),
	rn("Rundi"),
	ro("Romanian"),
	ru("Russian"),
	rw("Kinyarwanda"),
	sa("Sanskrit"),
	sc("Sardinian"),
	sd("Sindhi"),
	se("Northern Sami"),
	sg("Sango"),
	sh("Serbo-Croatian"),
	si("Sinhala"),
	sk("Slovak"),
	sl("Slovenian"),
	sm("Samoan"),
	sn("Shona"),
	so("Somali"),
	sq("Albanian"),
	sr("Serbian"),
	ss("Swati"),
	st("Southern Sotho"),
	su("Sundanese"),
	sv("Swedish"),
	sw("Swahili (macrolanguage)"),
	ta("Tamil"),
	te("Telugu"),
	tg("Tajik"),
	th("Thai"),
	ti("Tigrinya"),
	tk("Turkmen"),
	tl("Tagalog"),
	tn("Tswana"),
	to("Tonga (Tonga Islands)"),
	tr("Turkish"),
	ts("Tsonga"),
	tt("Tatar"),
	tw("Twi"),
	ty("Tahitian"),
	ug("Uighur"),
	uk("Ukrainian"),
	ur("Urdu"),
	uz("Uzbek"),
	ve("Venda"),
	vi("Vietnamese"),
	vo("Volapük"),
	wa("Walloon"),
	wo("Wolof"),
	xh("Xhosa"),
	yi("Yiddish"),
	yo("Yoruba"),
	za("Zhuang"),
	zh("Chinese"),
	zu("Zulu");

	private final String name;

	private LanguageCodes(String name) {
		this.name = name;
	}

	public String refName() {
		return name;
	}

	public final static StringSeeker SEEKER;
	static {
		final String[] items = new String[LanguageCodes.values().length];
		for (int index = 0; index < LanguageCodes.values().length; index++) {
			items[index] = LanguageCodes.values()[index].name();
		}
		SEEKER = new StringSeeker(items);
	}
}